<?php use_helper('ManuForm','Util') ?>

<?php
$coll_responsable = SalariePeer::getSalariesByUserId($sf_user->getGuardUser()->getPrimaryKey());
$responsable = count($coll_responsable) ? array_pop($coll_responsable) : null;
$tabCA = $salarie->getNombreCA();
?>

<h1>Feuille horaire <?php print collePreposition($salarie->getNomComplet()) ?></h1>

<!-- Instanciation du slot pour le calendrier lat�ral -->
<?php slot('sidecal') ?>
<div id="cal_container">
  <?php $uf_route = isset($uf) ? "uf:$uf," : '' ?>
	<?php echo div_flat_cal_to_url('calendrier/index?id='.$salarie->getId(), " calendar_options = '$uf_route firstDay : 1  , date : \"$strMondayCurrentWeek\" '") ; ?>
</div>
<?php end_slot() ?>


<!-- Tableau formulaire -->
<?php echo form_tag($sf_data->getRaw('validUrl')) ?> 
<table id="feuille_horaire_table_jours">
	<tr>
		<th>&nbsp;</th>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
			<th class="titres" ><?php print $jour->getObjDate()->getDayWeek() ?><br /><?php print $jour->getObjDate()->getDate('d/m/Y') ?></th>
		<?php endforeach ; ?>
	</tr>
	<tr>
		<td class="titres" >Type de journée</td>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
		<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td>
        <input type="hidden" name="posting_day_<?php echo $jour->getId() ?>" value="1" />
        <?php if($jour->isValide() || $jour->getIsValideResponsable()) : ?>
          <?php echo $type->getLibelle() ?>
        <?php else : ?>
          <?php
          $type_jour = new TypeJourForm();
          $type_jour->setDefault('libelle', $jour->getType());
          echo $type_jour['libelle']->render(array('name' => 'type_jour_'.$jour->getId()));
          ?>
        <?php endif ?>
			</td>
		<?php endforeach ; ?>
	</tr>
	<tr>
		<td class="titres">Heure d'arrivée</td>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
		<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td >
        <?php if(!$type->isOnlyDuree()) : ?>
          <?php if($jour->isValide() || $jour->getIsValideResponsable()) : ?>
            <?php echo rAddZero($jour->getObjDateArrivee()->getHours()).':'.rAddZero($jour->getObjDateArrivee()->getMinutes()) ?>
          <?php else : ?>
            <?php
            $hour   = $jour->getObjDateArrivee()->getHours()   ? $jour->getObjDateArrivee()->getHours()   : '8';
            $minute = $jour->getObjDateArrivee()->getMinutes() ? $jour->getObjDateArrivee()->getMinutes() : '0';
            $time = new sfWidgetFormTime(array('hours' => sfWidgetFormTime_Sop::generateTwoCharsRange(0, 23), 'minutes' => sfWidgetFormTime_Sop::generateTwoCharsRange(0, 59, 5)));
            echo $time->render('heure_arrivee_' . $jour->getId(), array('hour' => $hour, 'minute' => $minute));
            ?>
          <?php endif ?>
        <?php endif ?>
			</td>
		<?php endforeach ; ?>
	</tr>
	<tr>
		<td class="titres">Heure de départ</td>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
		<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td>
        <?php if(!$type->isOnlyDuree()) : ?>
          <?php if($jour->isValide() || $jour->getIsValideResponsable()) : ?>
            <?php echo rAddZero($jour->getObjDateDepart()->getHours()).':'.rAddZero($jour->getObjDateDepart()->getMinutes()) ?>
          <?php else : ?>
            <?php
            $hour   = $jour->getObjDateDepart()->getHours()   ? $jour->getObjDateDepart()->getHours()   : '8';
            $minute = $jour->getObjDateDepart()->getMinutes() ? $jour->getObjDateDepart()->getMinutes() : '0';
            $time = new sfWidgetFormTime(array('hours' => sfWidgetFormTime_Sop::generateTwoCharsRange(0, 23), 'minutes' => sfWidgetFormTime_Sop::generateTwoCharsRange(0, 59, 5)));
            echo $time->render('heure_depart_' . $jour->getId(), array('hour' => $hour, 'minute' => $minute));
            ?>
          <?php endif ?>
        <?php endif ?>
      </td>
		<?php endforeach ; ?>
	</tr>
	<tr>
	<td class="titres">Durée de la pause</td>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
	<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td>
        <?php if(!$type->isOnlyDuree()) : ?>
          <?php if($jour->isValide() || $jour->getIsValideResponsable()) : ?>
            <?php echo min2Hour($jour->getDureePause()).'h'.min2min($jour->getDureePause()) ?>
          <?php else : ?>
            <?php
            $select = new sfWidgetFormChoice(array('choices' => $tabChoixPause));
            echo $select->render('duree_pause_' . $jour->getId());
            ?>
            <script type="text/javascript">
              Event.observe(window, 'load', function() {
                $('duree_pause_<?php echo $jour->getId() ?>').value = '<?php echo $jour->getDureePause() ?>'
              })
            </script>
          <?php endif ?>
        <?php endif ?>
			</td>
		<?php endforeach ; ?>
	</tr>
	<tr>
	<td class="titres">Temps travaillé</td>
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
	<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td>
        <?php if(($jour->isValide() || $jour->getIsValideResponsable()) || $type->isObligDuree() || ! $type->isOnlyDuree()) : ?>
          <?php echo min2rep($jour->getTotalJournee()) ?>
        <?php else : ?>
          <?php
          $input = new sfWidgetFormInput(array());
          echo $input->render('temps_travaille_' . $jour->getId(), min2HoursFloat($jour->getTotalJournee()), array('size' => 2)) . 'h';
          ?>
          <input type="submit" value="Ok" />
        <?php endif ?>
			</td>
		<?php endforeach ; ?>
	</tr>
	<tr>
		<td class="titres">Observations</td>	
		<?php foreach($tabJoursCurrentSemaine as $jour) : ?>
		<?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
			<td >
				<?php $jour->getIsValideResponsable() ? print $jour->getCommentaire() : include_partial('calendrier/observation_input',array('name'=>'commentaire_jour_'.$jour->getId(),'value'=>$jour->getCommentaire())) ?>
			</td>
		<?php endforeach ; ?>
	</tr>
  <?php if(isset($readonly) && !$readonly) : ?>
    <tr>
      <td class="titres">Validation de l'agent</td>
      <?php foreach($tabJoursCurrentSemaine as $jour) : ?>
      <?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
        <td>
          <?php $attributes = ($jour->getIsValideResponsable() || $sf_user->getGuardUser()->getIsSuperAdmin()) ? array('disabled' => 'disabled') : array() ?>
          <?php $cb = new sfWidgetFormInputCheckbox(array(), $attributes) ?>
          <?php if(count($attributes)) : ?>
            <input type="hidden" name="validation_agent_<?php echo $jour->getPrimaryKey() ?>" value="<?php echo $jour->isValide() ?>" />
            <?php echo $cb->render('validation_agent_print_' . $jour->getPrimaryKey(), $jour->isValide()) ?>
          <?php else : ?>
            <?php echo $cb->render('validation_agent_' . $jour->getPrimaryKey(), $jour->isValide()) ?>
          <?php endif ?>
      <?php endforeach ; ?>
    </tr>
    <tr>
      <td class="titres">Validation du responsable</td>
      <?php foreach($tabJoursCurrentSemaine as $jour) : ?>
      <?php $type = TypeJourPeer::retrieveByPK($jour->getType()); ?>
        <td>
          <?php if((isset($uf) && $responsable instanceof Salarie && $responsable->isResponsable(UniteFonctionnellePeer::retrieveByPK($uf))) || $sf_user->getGuardUser()->getIsSuperAdmin()) : ?>
            <?php if(isset($uf)) : ?>
              <input type="hidden" name="uf" value="<?php echo $uf ?>" />
            <?php endif ?>
            <?php
            $cb = new sfWidgetFormInputCheckbox(array());
            echo $cb->render('validation_responsable_' . $jour->getId(), $jour->getIsValideResponsable());
            ?>
          <?php else : ?>
            <?php if($jour->getIsValideResponsable()) : ?>
              validé
            <?php else : ?>
              non validé
            <?php endif ?>
          <?php endif ?>
      <?php endforeach ; ?>
    </tr>
  <?php endif ?>
</table>
<br />
<!-- Bilan semaine -->

<table id="table_bilan_semaine" class="float-left" style="width:600px">
        <tr>
                <td class="titres" style="width:200px;">Total semaine (<?php echo $salarie->getNbHeuresSemaine() ?>h/semaine)</td>
                <td><?php print min2rep($semaine->getTotal()).' ('.min2rep( $semaine->getDelta() ).')';	 ?></td>
        </tr>
        <?php if ( $salarie->getNom() == 'FALANGA' OR $salarie->getNom() == 'DEKHLI' ) : ?>
            <tr>
                    <td class="titres">06/01/2014 - 31/12/2014</td>
                    <td colspan="3"><?php print $salarie->getDeltaTotal('2014-01-06')?></td>
            </tr>    
        <?php else : ?>
            <!-- <tr>
                <td class="titres">03/11/2014 - 25/01/2015</td>
                <td colspan="3"><php print $salarie->getDeltaTotal('2014-11-03','2015-01-25')?></td>
            </tr> -->
            <!-- <tr>
                <td class="titres">26/01/2015 - 19/04/2015</td>
                <td colspan="3"><php print $salarie->getDeltaTotal('2015-01-26','2015-04-19')?></td>
            </tr> -->
            <tr>
                <td class="titres">20/04/2015 - 12/07/2015</td>
                <td colspan="3"><?php print $salarie->getDeltaTotal('2015-04-20','2015-07-12')?></td>
            </tr>
            <tr>
                <td class="titres">13/07/2015 - 04/10/2015</td>
                <td colspan="3"><?php print $salarie->getDeltaTotal('2015-07-13')?></td>
            </tr>
        <?php endif; ?>
	<tr><th class="titres" colspan="4">Le delta total ne tient pas compte des saisies sur les jours futurs</th></tr>
    <tr>
        <th class="titres" colspan="1" title="<?php echo $tabCA['lib_total'] ?>">Nombre de CA posés (<?php echo date('Y') ?>)</th>
        <th class="titres" colspan="3" title="<?php echo $tabCA['lib_total'] ?>"><?php echo $tabCA['total'] ?></th>
    </tr>
    <tr>
        <th class="titres" colspan="1" title="<?php echo $tabCA['lib_pris'] ?>">Nombre de CA déjà pris (<?php echo date('Y') ?>)</th>
        <th class="titres" colspan="3" title="<?php echo $tabCA['lib_pris'] ?>"><?php echo $tabCA['pris'] ?></th>
    </tr>
</table>

<?php if(isset($readonly) && !$readonly) : ?>
  <?php if((isset($uf) && $responsable instanceof Salarie && $responsable->isResponsable(UniteFonctionnellePeer::retrieveByPK($uf))) || $sf_user->getGuardUser()->getIsSuperAdmin()) : ?>
    <input type='hidden' name='responsable' value='1' />
    <input type='submit' value='Validation du responsable' class="float-right" style="margin-top: 60px; padding: 10px 5px; cursor: pointer;" />
  <?php else : ?>
    <input type="submit" value="Validez les changements" class="float-right" style="margin-top: 60px; padding: 10px 5px; cursor: pointer;" onclick="this.form.submit()" />
  <?php endif ?>
<?php endif ?>
  
</form>
